package com.ruoyi.question.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 题库管理对象 que_questions
 * 
 * @author ruoyi
 * @date 2025-02-14
 */
public class QueQuestions extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键UUID */
    private String id;

    /** 题目类型 */
    @Excel(name = "题目类型")
    private Long questionType;

    /** 题目 */
    @Excel(name = "题目")
    private String questionName;

    /** 答案 */
    @Excel(name = "答案")
    private String answer;

    /** 正确答案 */
    @Excel(name = "正确答案")
    private String correctAnswer;

    /** 难度 */
    @Excel(name = "难度")
    private String difficulty;

    /** 教材页码 */
    @Excel(name = "教材页码")
    private String pageNumber;

    /** 来源 */
    @Excel(name = "来源")
    private String source;

    /** 备注 */
    @Excel(name = "备注")
    private String note;

    /** 解题思路 */
    @Excel(name = "解题思路")
    private String solution;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 备用字段1 */
    @Excel(name = "备用字段1")
    private String backupField1;

    /** 备用字段2 */
    @Excel(name = "备用字段2")
    private String backupField2;

    /** 备用字段3 */
    @Excel(name = "备用字段3")
    private String backupField3;

    /** 备用字段4 */
    @Excel(name = "备用字段4")
    private String backupField4;

    /** 备用字段5 */
    @Excel(name = "备用字段5")
    private String backupField5;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setQuestionType(Long questionType) 
    {
        this.questionType = questionType;
    }

    public Long getQuestionType() 
    {
        return questionType;
    }

    public void setQuestionName(String questionName) 
    {
        this.questionName = questionName;
    }

    public String getQuestionName() 
    {
        return questionName;
    }

    public void setAnswer(String answer) 
    {
        this.answer = answer;
    }

    public String getAnswer() 
    {
        return answer;
    }

    public void setCorrectAnswer(String correctAnswer) 
    {
        this.correctAnswer = correctAnswer;
    }

    public String getCorrectAnswer() 
    {
        return correctAnswer;
    }

    public void setDifficulty(String difficulty) 
    {
        this.difficulty = difficulty;
    }

    public String getDifficulty() 
    {
        return difficulty;
    }

    public void setPageNumber(String pageNumber) 
    {
        this.pageNumber = pageNumber;
    }

    public String getPageNumber() 
    {
        return pageNumber;
    }

    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }

    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }

    public void setSolution(String solution) 
    {
        this.solution = solution;
    }

    public String getSolution() 
    {
        return solution;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setBackupField1(String backupField1) 
    {
        this.backupField1 = backupField1;
    }

    public String getBackupField1() 
    {
        return backupField1;
    }

    public void setBackupField2(String backupField2) 
    {
        this.backupField2 = backupField2;
    }

    public String getBackupField2() 
    {
        return backupField2;
    }

    public void setBackupField3(String backupField3) 
    {
        this.backupField3 = backupField3;
    }

    public String getBackupField3() 
    {
        return backupField3;
    }

    public void setBackupField4(String backupField4) 
    {
        this.backupField4 = backupField4;
    }

    public String getBackupField4() 
    {
        return backupField4;
    }

    public void setBackupField5(String backupField5) 
    {
        this.backupField5 = backupField5;
    }

    public String getBackupField5() 
    {
        return backupField5;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("questionType", getQuestionType())
            .append("questionName", getQuestionName())
            .append("answer", getAnswer())
            .append("correctAnswer", getCorrectAnswer())
            .append("difficulty", getDifficulty())
            .append("pageNumber", getPageNumber())
            .append("source", getSource())
            .append("note", getNote())
            .append("solution", getSolution())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("backupField1", getBackupField1())
            .append("backupField2", getBackupField2())
            .append("backupField3", getBackupField3())
            .append("backupField4", getBackupField4())
            .append("backupField5", getBackupField5())
            .toString();
    }
}
